<html><head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>UserGuide - Input &amp; Output</title></head>
<body bgcolor="#FFFFDF" link="#009999" vlink="#006666" alink="#006666">
<font face="Arial" size="2"><p align="center"><b><font size="5">UserGuide - Input &amp; Output</font></b></p>



Every PureBasic application can communicate and interact with the user on different ways. 
<br>
<br>
Thereby we distinguish between 
<br>
a) the pure output of information 
<br>
b) the interaction of the PureBasic application with the user, when user-input will be taken 
and the results will be outputted again. 
<br>
<br>
It's not possible anymore, to use a simple "PRINT" command to output some things on the 
screen, like it was possible on DOS operating systems (OS) without a graphical user interface 
(GUI) years ago. Today such a GUI is always present, when you use an actual OS like Windows, 
Mac OSX or Linux. 
<br>
<br>
<b>For the output of information we have different possibilities:</b> 
<br>
- <a href="../reference/debugger.html">Debug</a> window (only possible during programming with PureBasic) 
<br>
- <a href="../requester/messagerequester.html">MessageRequester()</a> (output of shorter text messages in a requester window) 
<br>
- <a href="../file/index.html">Files</a> (for saving the results in a text-file, etc.) 
<br>
- <a href="../console/index.html">Console</a> (for simple and almost non-graphic text output, most 
similar to earlier DOS times) 
<br>
- <a href="../window/index.html">Windows</a> and <a href="../gadget/index.html">gadgets</a> (standard windows with 
GUI elements on the desktop of the OS, e.g. for applications) 
<br>
- <a href="../screen/openscreen.html">Screen</a> (Output of text and graphics directly on the screen, e.g. for games) 
<br>
<br>
To be able to <b>record and process input by the user</b> of the PureBasic application, the three 
last-mentioned output options have also the possibility to get user-input: 
<br>
- in the <a href="../console/index.html">console</a> using <a href="../console/input.html">Input()</a> 
<br>
- in the window using <a href="../window/waitwindowevent.html">WaitWindowEvent()</a> / <a href="../window/windowevent.html">WindowEvent()</a>, which can get the events occurred in the 
<a href="../window/index.html">window</a>, like clicking on a <a href="../gadget/buttongadget.html">button</a> or the 
entered text in a <a href="../gadget/stringgadget.html">StringGadget()</a> 
<br>
- in the <a href="../screen/openscreen.html">graphics screen</a> using the <a href="../keyboard/index.html">keyboard</a> 
<br>
- there is as well the possibility to get user-input using the <a href="../requester/inputrequester.html">InputRequester()</a> 


<p><b>UserGuide Navigation</b></p><blockquote>

<a href="../reference/ug_data.html">&lt; Previous: Storing data in memory</a> | <a href="../reference/ug_overview.html">Overview</a> | <a href="../reference/ug_textoutput.html">Next: Displaying text output (Console) &gt;</a> 
</body></html>